Selecting informative presentations based on navigation cues and user intent

ABSTRACT

Promotional or informational materials are selected for presentation to mobile device users based at least in part on knowledge about where those users intend to go. If a user performs a points-of-interest search that evinces a particular intent, then the mobile device can select informational materials that are associated with that particular intent, and then display those informational materials. The informational materials selected can be limited to those that are mapped to a point of interest that the searching user selected from a list of points of interest that are relevant to the user&#39;s specified intent. Additionally or alternatively, the mobile device might display only the informational materials that are mapped to a particular point of interest in response to detecting that the user has entered within a specified proximity of that particular point of interest, as determined through a global positioning system of the user&#39;s mobile device.

CROSS REFERENCE

This application claims priority under 35 U.S.C. §120 as a continuationof U.S. application Ser. No. 13/467,469, filed on May 9, 2012, andtitled “SELECTING INFORMATIVE PRESENTATIONS BASED ON NAVIGATION CUES ANDUSER INTENT,” the disclosure of which is incorporated herein byreference.

BACKGROUND

The present disclosure relates generally to the presentation ofinformation, such as advertising, and in particular to selectinginformative presentations based on navigation cues and user intent.

Mobile devices, such as smart phones, often come equipped with globalpositioning systems (GPS) which allow the mobile device to ascertain theuser's geographical location at any particular time. Applications thatexecute on mobile devices so equipped have come to take advantage ofthis positional information. For example, a mapping application thatexecutes on a mobile device might receive a user's command to plot aroute from the user's current location to a user-specified destination.In response to such a command, the mapping application can use theglobal positioning data to determine the shortest or best route from theuser's current location to the user-specified destination.

Some advertisers have also sought to take advantage of the globalpositioning systems of mobile devices. One popular use of GPS is knownas “geofencing.” Geofencing involves the definition of a geographicalarea, typically via a set of coordinates that define a polygonalboundary or the center of a circular area. Applications that execute ona mobile device can continuously monitor the location of the mobiledevice. In response to an application's determination that the mobiledevice's current GPS coordinates fall within the boundaries of such a“geofenced” area, the application can present, to the mobile device'suser, an advertisement that is associated with a point of interest foundin that area. The advertiser hopes that it has guessed correctly thatthe user's current proximity to a point of interest signifies that theuser would be interested in the contents of the advertisement.Unfortunately, too often, the user's current proximity to any point ofinterest is merely coincidental, and has nothing to do with the user'sintent. Under such circumstances, the user might find the advertisementto be irrelevant, annoying, or intrusive.

SUMMARY

Certain embodiments of the present invention can generate a list ofpoints of interest on a mobile device (e.g., a smart phone, a laptopcomputer, a tablet computer, or any other portable device) in responseto a request, by the user of that device, to locate such points ofinterest that are related to a user-specified intent. At least some ofthe entries in the list can specify both a point of interest and a fieldthat indicates whether any additional information (e.g., coupons orother promotional materials) pertaining to that point of interest areavailable. For example, the field can contain a description of anavailable promotion if such a promotion is available. Such a field canbe implemented as an extended type field in cases where each list entryis implemented as a separate vCard. When the list is presented to theuser, either by the mobile device itself or by some accessory with whichthe mobile device communicates, the list can display availableinformation (e.g., promotional materials) for various points of interestin the list, potentially motivating the user to select one point ofinterest over other points of interest in the list. Notably, the pointsof interest are not necessarily those at which the user is currentlylocated (though they can be selected based at least in part due to theirproximity to the user's current location), but are those that arerelated to the intent that the user has manifested through his request.Although the discussion below refers to promotional materials, it shouldbe understood that embodiments of the invention also can includeenhanced data in addition to or instead of promotional materials.

Certain embodiments of the present invention can provide such apromotional material-enhanced list from a mobile device to an accessorythat communicates with the mobile device. Through such an accessory(e.g., a car's speakerphone), the user can interact with an intelligentassistant executing on the mobile device. For example, the user canspeak a request into an accessory microphone (e.g., a car's speakerphonesystem) that can send the audio to the mobile device for processing. Inresponse, the intelligent assistant's output (e.g., a list of vCards)can be presented directly on the mobile device or sent to the accessory,which can present the output on its own screen. A user of the accessorycan use the accessory to select a particular list entry from the list.In response to the user's selection, the accessory can indicate, to themobile device, the identity of the particular list entry that the userselected. Additionally or alternatively, the accessory can act on theselection locally by presenting, to the user, one or more promotionalmaterials (e.g., coupons) or other information items that are associatedwith the particular list entry via the field discussed above.Additionally or alternatively, in response to receiving the identity ofthe particular list entry from the accessory, the mobile device canpresent, to the user of the mobile device, one or more promotionalmaterials (e.g., coupons) or other information items that are associatedwith the particular list entry via the field discussed above. Thecommunication path between the mobile device and the accessory createsat least one point in which promotional material such as advertisementscan be inserted into the information being communicated via the path.For example, a protocol layer that sends a list of vCards to theaccessory can add the promotional material to those vCards, or theaccessory itself can add the promotional material to those vCards.

Certain embodiments of the present invention involve a mobile devicereceiving user intent data. For example, the mobile device can receive(e.g., wirelessly) the user intent data from an accessory that isseparate from the mobile device. Based at least in part on the userintent data, the mobile device can generate a list containing multipleentries. Each of the entries has an associated location. The mobiledevice can augment one or more of the entries with additional contentthat is selected based at least in part on those entries' associatedlocations and based at least in part on the user intent data. Forexample, the additional content can include advertisements. The mobiledevice can send (e.g., wirelessly) the list, including the augmentedentries, to an accessory that is capable of presenting the list, withthe additional content, to the user.

Certain embodiments of the present invention involve a mobile devicereceiving (e.g., wirelessly), from an accessory that is separate fromthe mobile device, information that identifies a location selected by auser. For example, the information can identify a location that isassociated with one of the entries discussed above. The mobile devicealso identifies additional content to be presented to the user. Themobile device performs this identification based at least in part on theuser-selected location. The mobile device additionally can perform thisidentification based at least in part on user intent data that themobile device receives from the accessory. The mobile device sends(e.g., wirelessly) the additional content to the accessory, which iscapable of presenting the additional content to the user. The additionalcontent can include an advertisement.

Certain embodiments of the present invention involve the mobile deviceadditionally providing, to the user of the mobile device, promotionalmaterials that are not necessarily associated with the identity of theparticular list entry that the user selected, but that are associatedwith other points of interest that are within the vicinity of the pointof interest specified within the particular list entry that the userselected. For example, the mobile device can display both (a)promotional materials that are associated with the particular point ofinterest specified in the user-selected list entry as well as (b)promotional materials that are associated with points of interest thatare within a specified quantity of units of distance from the particularpoint of interest. For example, the mobile device can display both (a)promotional materials that are associated with the particular point ofinterest specified in the user-selected list entry as well as (b)promotional materials that are associated with points of interest thatare within a same political entity (e.g., city, state, county, nation,etc.) or within a same geographical area (e.g., street, block, park,etc.) as the one in which the particular point of interest is located,regardless of distance.

Certain embodiments of the present invention involve the mobile devicecontinuously monitoring its own location (e.g., via a global positioningsystem) and detecting that it has arrived at a destination that isspecified by the user-selected point of interest. In response todetecting arrival at the destination, the mobile device can present anotification to the user (e.g., in the form of a banner that temporarilypops up on the display of the mobile device). The notification can beuser-selectable. In response to the user's selection of thenotification, the mobile device can invoke an application, such as a webbrowser, that displays promotional materials that are associated withthe point of interest at which the mobile device has arrived.

The following detailed description together with the accompanyingdrawings will provide a better understanding of the nature andadvantages of the present invention.

BRIEF DESCRIPTION

FIG. 1 is a block diagram of a computer system according to anembodiment of the present invention.

FIG. 2 is a flow diagram of a process for presenting promotionalmaterials to a mobile device user based on the user's intendeddestination, according to an embodiment of the present invention.

FIG. 3 is a flow diagram of a process for presenting promotionalmaterials in a list of points of interest based on the user's intent,according to an embodiment of the present invention.

FIG. 4 is a flow diagram of a process for decorating data withpromotional materials based at least in part on user intent, accordingto an embodiment of the present invention.

DETAILED DESCRIPTION

The discussion below refers to a mobile device performing variousoperations.

However, in various alternative embodiments of the present invention,such operations can be performed by the mobile device acting incooperation with a server that is remote from the mobile device. Such aserver may receive information from the mobile device, performprocessing based on that information, and then return furtherinformation and/or instructions to the mobile device for further action.Thus, discussions below of data being generated by the mobile device canbe read to include such data being generated by a server and/or themobile device together.

Certain embodiments of the present invention relate to providing, tomobile device users, advertisements and/or other promotional orinformational materials that are selected for presentation to thoseusers based at least in part on knowledge about where the user intendsto go. If the user performs a points-of-interest search that evinces aparticular intent, then the mobile device can select promotional orinformational materials that are associated with that particular intent,and then display those promotional or informational materials. In someembodiments, the promotional or informational materials selected areonly those that are mapped to a point of interest that the searchinguser selected from a list of points of interest that are relevant to theuser's specified intent. In some embodiments, the mobile device onlydisplays the promotional or informational materials that are mapped to aparticular point of interest in response to detecting that the user hasentered within a specified proximity of that particular point ofinterest, as determined through a global positioning system of theuser's mobile device.

For example, a user of a mobile device might issue vocal commands to asoftware-based intelligent assistant executing on that mobile device.These vocal commands can be received directly by the mobile device orthrough an input of an accessory that is separate from the mobiledevice; in the latter case, the accessory can communicate the vocalcommands to the mobile device via a communication path. The user mightask the agent to find nearby points-of-interest related to a particularintent specified by the user (e.g., coffee shops). The mobile device cansend, to the accessory, a list of nearby points of interest that arerelevant to the specified intent. The accessory can display this list toa user. In addition to determining a list of nearby points of interestthat are relevant to the specified intent, the mobile device candetermine a set of other points of interest that are both (a) within aspecified distance of a point of interest that is related to thespecified intent and (b) mapped to promotional material. The mobiledevice can filter the set of other points of interest to exclude thosethat are mapped to promotional materials that are not relevant to thespecified intent. The mobile device can send this set of other points ofinterest to the accessory. The accessory can then display a map thatshows the user's current location, along with the locations of nearbypoints of interest that are relevant to the specified intent. The mapadditionally can indicate the locations of the other nearby points ofinterest to which promotional materials are mapped. The display of theseother nearby points of interest to which promotional materials aremapped can entice the user to go out of his way in order to visit anearby point of interest that is currently offering a promotion in whichthe user is interested. In addition to or instead of presenting anadvertisement or coupon as an item of promotional material, the mobiledevice can recommend non-advertisement tourist attractions and/ornon-advertisement interesting landmarks that are within a specifieddistance of the point of interest that is related to the specifiedintent. The mobile device can filter these attractions and landmarksbased on whether they are relevant to the specified intent.

For another example, a user of a mobile device might issue vocalcommands to a software-based intelligent assistant executing on thatmobile device. These vocal commands can be received directly by themobile device or through an input of an accessory that is separate fromthe mobile device; in the latter case, the accessory can communicate thevocal commands to the mobile device via a communication path. The usermight ask the agent to find nearby points-of-interest related to aparticular intent specified by the user (e.g., coffee shops). The mobiledevice can send, to the accessory, a list of nearby points of interestthat are relevant to the specified intent. The accessory can displaythis list to a user. After the accessory displays the list of nearbypoints of interest that are relevant to the specified intent, the mobiledevice can receive (directly or from the accessory) a command from theuser instructing the mobile device to determine a route from the user'scurrent location to a selected particular point of interest from thelist. In response to such a command, the mobile device can automaticallydetermine a shortest or best route to the particular point of interest.The mobile device can also determine a set of other points of interestthat are both (a) within a specified distance of the route to theparticular point of interest and (b) mapped to promotional material. Themobile device can filter the set of other points of interest to excludethose that are mapped to promotional materials that are not relevant tothe specified intent. The mobile device can send this information to theaccessory. The accessory can then display a map that shows the user'scurrent location, along with the route to the particular point ofinterest. The map additionally can indicate the locations of the othernearby points of interest to which promotional materials are mapped. Inaddition to or instead of presenting an advertisement or coupon as anitem of promotional material, the mobile device can recommendnon-advertisement tourist attractions and/or non-advertisementinteresting landmarks that are within a specified distance of the route.The mobile device can filter these attractions and landmarks based onwhether they are relevant to the specified intent.

In certain embodiments of the invention, the mobile device can storereminders that the user has caused the mobile device to generate. Eachsuch reminder can be associated with a task, typically expressed as astring of text, and a date and/or time by which the task ought to beperformed or at which the user has instructed the mobile device toremind the user of the task. Each task in the reminder list is also anindication of user intent. The mobile device can select promotionalmaterials that are mapped to the intents reflected by the tasks in thereminder list, and then display those promotional materials to the user.In certain embodiments of the invention, the mobile device can ascertainuser intent from user-specific data maintained by various differentapplications that are also resident on the mobile device.

FIG. 1 illustrates a computer system 100 according to an embodiment ofthe present invention. Computer system 100 can be implemented as any ofvarious computing devices, including, e.g., a desktop or laptopcomputer, tablet computer, smart phone, personal data assistant (PDA),or any other type of computing device, not limited to any particularform factor. Computer system 100 can include processing unit(s) 105,storage subsystem 110, input devices 120, display 125, network interface135, and bus 140.

Processing unit(s) 105 can include a single processor, which can haveone or more cores, or multiple processors. In some embodiments,processing unit(s) 105 can include a general-purpose primary processoras well as one or more special-purpose co-processors such as graphicsprocessors, digital signal processors, or the like. In some embodiments,some or all processing units 105 can be implemented using customizedcircuits, such as application specific integrated circuits (ASICs) orfield programmable gate arrays (FPGAs). In some embodiments, suchintegrated circuits execute instructions that are stored on the circuititself. In other embodiments, processing unit(s) 105 can executeinstructions stored in storage subsystem 110.

Storage subsystem 110 can include various memory units such as a systemmemory, a read-only memory (ROM), and a permanent storage device. TheROM can store static data and instructions that are needed by processingunit(s) 105 and other modules of electronic device 100. The permanentstorage device can be a read-and-write memory device. This permanentstorage device can be a non-volatile memory unit that storesinstructions and data even when computer system 100 is powered down.Some embodiments of the invention can use a mass-storage device (such asa magnetic or optical disk or flash memory) as a permanent storagedevice. Other embodiments can use a removable storage device (e.g., afloppy disk, a flash drive) as a permanent storage device. The systemmemory can be a read-and-write memory device or a volatileread-and-write memory, such as dynamic random access memory. The systemmemory can store some or all of the instructions and data that theprocessor needs at runtime.

Storage subsystem 110 can include any combination of computer readablestorage media including semiconductor memory chips of various types(DRAM, SRAM, SDRAM, flash memory, programmable read-only memory) and soon. Magnetic and/or optical disks can also be used. In some embodiments,storage subsystem 110 can include removable storage media that can bereadable and/or writeable; examples of such media include compact disc(CD), read-only digital versatile disc (e.g., DVD-ROM, dual-layerDVD-ROM), read-only and recordable Blu-Ray® disks, ultra density opticaldisks, flash memory cards (e.g., SD cards, mini-SD cards, micro-SDcards, etc.), magnetic “floppy” disks, and so on. The computer readablestorage media do not include carrier waves and transitory electronicsignals passing wirelessly or over wired connections.

In some embodiments, storage subsystem 110 can store one or moresoftware programs to be executed by processing unit(s) 105, such as anintelligent assistant 145. “Software” refers generally to sequences ofinstructions that, when executed by processing unit(s) 105 causecomputer system 100 to perform various operations, thus defining one ormore specific machine implementations that execute and perform theoperations of the software programs. The instructions can be stored asfirmware residing in read-only memory and/or applications stored inmagnetic storage that can be read into memory for processing by aprocessor. Software can be implemented as a single program or acollection of separate programs or program modules that interact asdesired. Programs and/or data can be stored in non-volatile storage andcopied in whole or in part to volatile working memory during programexecution. From storage subsystem 110, processing unit(s) 105 canretrieves program instructions to execute and data to process in orderto execute various operations described herein.

A user interface can be provided by one or more user input devices 120,display device 125, and/or and one or more other user output devices(not shown). Input devices 120 can include any device via which a usercan provide signals to computing system 100; computing system 100 caninterpret the signals as indicative of particular user requests orinformation. In various embodiments, input devices 120 can include anyor all of a keyboard, touch pad, touch screen, mouse or other pointingdevice, scroll wheel, click wheel, dial, button, switch, keypad,microphone, and so on.

Display 125 can display images generated by electronic device 100 andcan include various image generation technologies, e.g., a cathode raytube (CRT), liquid crystal display (LCD), light-emitting diode (LED)including organic light-emitting diodes (OLED), projection system, orthe like, together with supporting electronics (e.g., digital-to-analogor analog-to-digital converters, signal processors, or the like). Someembodiments can include a device such as a touchscreen that function asboth input and output device. In some embodiments, other user outputdevices can be provided in addition to or instead of display 125.Examples include indicator lights, speakers, tactile “display” devices,printers, and so on.

In some embodiments, the user interface can provide a graphical userinterface, in which visible image elements in certain areas of display125 are defined as active elements or control elements that the user canselect using user input devices 120. For example, the user canmanipulate a user input device to position an on-screen cursor orpointer over the control element, then click a button to indicate theselection. Alternatively, the user can touch the control element (e.g.,with a finger or stylus) on a touchscreen device. In some embodiments,the user can speak one or more words associated with the control element(the word can be, e.g., a label on the element or a function associatedwith the element). In some embodiments, user gestures on atouch-sensitive device can be recognized and interpreted as inputcommands; these gestures can be but need not be associated with anyparticular array in display 125. Other user interfaces can also beimplemented.

Network interface 135 can provide voice and/or data communicationcapability for electronic device 100. In some embodiments, networkinterface 135 can include radio frequency (RF) transceiver componentsfor accessing wireless voice and/or data networks (e.g., using cellulartelephone technology, advanced data network technology such as 3G, 4G orEDGE, WiFi (IEEE 802.11 family standards, or other mobile communicationtechnologies, or any combination thereof), GPS receiver components,and/or other components. In some embodiments, network interface 135 canprovide wired network connectivity (e.g., Ethernet) in addition to orinstead of a wireless interface. Network interface 135 can beimplemented using a combination of hardware (e.g., antennas,modulators/demodulators, encoders/decoders, and other analog and/ordigital signal processing circuits) and software components.

Electronic device 100 can also communicate with various accessories toenhance user interaction with electronic device 100. For example,electronic device 100 can be connected to an accessory that has a largerdisplay or more powerful speakers, or a more convenient user interface,than electronic device 100 has. Such accessories can be used to presentand interact with media content and other information stored onelectronic device 100. Accessory interface 155 enables communicationbetween electronic device 100 and such accessories. Accessory interface155 can include a connector, antenna, or other hardware componentscapable of sending and receiving information-carrying signals via wiredand/or wireless communication paths. The signals and the information canbe formatted to comply with an accessory protocol that is defined foruse by accessories that interoperate with electronic device 100. Thisprotocol, which can be proprietary to the manufacturer of device 100,can allow accessories to invoke functionality of electronic device 100(such as an intelligent assistant).

Accessory interface 155 can implement the communication path between amobile device and an accessory as discussed elsewhere herein.

Bus 140 can include various system, peripheral, and chipset buses thatcommunicatively connect the numerous internal devices of electronicdevice 100. For example, bus 140 can communicatively couple processingunit(s) 105 with storage subsystem 110. Bus 140 also connects to inputdevices 120 and display 125. Bus 140 also couples electronic device 100to a network through network interface 135. In this manner, electronicdevice 100 can be a part of a network of multiple computer systems(e.g., a local area network (LAN), a wide area network (WAN), anIntranet, or a network of networks, such as the Internet. Bus 140further enables communication between electronic device 100 and anaccessory via accessory interface 155. Any or all components ofelectronic device 100 can be used in conjunction with the invention.

Some embodiments include electronic components, such as microprocessors,storage and memory that store computer program instructions in acomputer readable storage medium. Many of the features described in thisspecification can be implemented as processes that are specified as aset of program instructions encoded on a computer readable storagemedium. When these program instructions are executed by one or moreprocessing units, they cause the processing unit(s) to perform variousoperation indicated in the program instructions. Examples of programinstructions or computer code include machine code, such as is producedby a compiler, and files including higher-level code that are executedby a computer, an electronic component, or a microprocessor using aninterpreter.

Through suitable programming, processing unit(s) 105 can provide variousfunctionality for electronic device 100. For example, processing unit(s)105 can execute intelligent assistant 145. In some embodiments,intelligent assistant 145 is a software-based process that can processdigital audio using voice recognition. Through this processing,intelligent assistant 145 can transform the digital audio into a query.Depending on the content and context of the query, intelligent assistant145 can select an action to be performed from a set of possible actions.For example, the set of possible actions may include running a websearch, creating an appointment, playing music, making a telephone call,etc. After selecting the action to be performed, intelligent assistant145 can perform that action. At least some of the functionalist ofintelligent assistant 145 can be implemented on servers that are locatedremotely from electronic device 100. Intelligent assistant 145 mayinteract with those servers via network interface 135. Intelligentassistant 145 might perform only a part of the work involved in theperformance of the selected action. For example, intelligent agent 145can forward the query to a server, receive instructions from the serverin reply, and then locally perform, on electronic device 100, anyoperations indicated within those instructions.

It will be appreciated that computer system 100 is illustrative and thatvariations and modifications are possible. Computer system 100 can haveother capabilities not specifically described here (e.g., mobile phone,global positioning system (GPS), power management, one or more cameras,various connection ports for connecting external devices or accessories,etc.). Further, while computer system 100 is described with reference toparticular blocks, it is to be understood that these blocks are definedfor convenience of description and are not intended to imply aparticular physical arrangement of component parts. Further, the blocksneed not correspond to physically distinct components. Blocks can beconfigured to perform various operations, e.g., by programming aprocessor or providing appropriate control circuitry, and various blocksmight or might not be reconfigurable depending on how the initialconfiguration is obtained. Embodiments of the present invention can berealized in a variety of apparatus including electronic devicesimplemented using any combination of circuitry and software.

In one embodiment of the invention, additional points of interest can beinserted into an initial list of points of interest deemed relevant tothe user's intent. Each list entry pertaining to such an additionalpoint of interest can indicate information about the promotional orinformational material pertaining to that additional point of interest.FIG. 2 is a flow diagram of a process 200 for presenting promotionalmaterials in a list of points of interest based on a mobile deviceuser's intent, according to an embodiment of the present invention. Inblock 202, the mobile device can receive a command that indicates theuser's intent. For example, the mobile device can receive a commandasking for a list of stores of a particular type. Instead of receivingthe command directly, in one embodiment of the invention, the mobiledevice receives the command from a separate accessory that forwards thatcommand to the mobile device via a communication path. In block 204, themobile device can determine a set of points of interest that arerelevant to the user's intent. For example, if the user's intent is tofind a coffee shop, then the mobile device can select, from a set ofknown coffee shops, a set of coffee shops that are within a specifieddistance of the user's current location.

In block 206, the mobile device can augment at least one of the pointsof interest determined in block 204 with additional information (e.g.,promotional or informational materials such as advertisements, coupons,etc.) determined based on a location (e.g., the user's current locationand/or a destination specified by the user) and the user intent. Themobile device can sort the augmented list of points of interest based atleast in part on the distances of those points of interest from theuser's current location, such that the points of interest nearest to theuser's current location will appear toward the top of the list. If theinitial list takes the form of a list of vCards, then the augmentationcan involve the population of extended fields of one or more of thosevCards with the additional information.

In block 210, the mobile device can display at least a portion of thelist to the user. Alternatively, the mobile device can send the list toa separate accessory via a communication path, and the accessory candisplay at least a portion of the list to the user. For example, themobile device can display a specified quantity of list entries that areranked the highest (e.g., based at least in part on distance) amongentries in the list. List entries that are mapped to promotionalmaterial can display, along with information identifying that entry'spoint of interest, information relating to the promotional materialmapped to that point of interest. Such information can take the form ofa textual advertisement, for example. Alternatively, such informationcan take the form of a URL that refers to a web page that contains thepromotional material (e.g., an advertisement, coupon, etc.). In responseto the user's selection of such a URL, the mobile device can invoke abrowser application and send an HTTP request to a server requesting theweb page to which the URL refers. The browser application can displaythe promotional material on the web page in response to receiving anHTTP reply from the server.

In block 212, the mobile device can receive, from the user, a selectionof a particular point of interest from the list of points of interest.For example, the mobile device can detect that a user has touched, on atouch-sensitive screen of the mobile device, a region on which aparticular list entry, corresponding to the particular point ofinterest, is displayed. Alternatively, the accessory can detect a userselection of a point of interest on its own touch-sensitive screen, andforward information indicating this selection to the mobile device. Inblock 214, the mobile device can determine a route from the user'scurrent location to the particular point of interest.

In block 216, the mobile device can display, to the user, a map thatshows at least the user's current location and the route from the user'scurrent location to the selected particular point of interest.Alternatively, the mobile device can send the map to the accessory via acommunication path. The accessory can then display the map to the user.

In certain embodiments of the invention, the corpus of points ofinterest is stored within a database on a server that is remote to themobile device and with which the mobile device communicates wirelessly.In certain embodiments of the invention, in order to ensure thatpromotional materials associated with points of interest are fresh, themobile device queries this database anew in response to each userrequest. The promotional materials associated with points of interest inthe database can be time-limited, so that some promotional materials canexpire and other promotional materials can be introduced over time.Within the database, each mapping between a point of interest andpromotional material can additionally indicate a range of dates and/ortimes for which the promotional material is valid; as promotionalmaterials expire, they can be removed from the database automatically.Thus, in certain embodiments of the invention, fresh promotionalmaterials are ascertained in between the time that the mobile devicereceives the user's request and the time that the mobile devicegenerates the list of points of interest for display to the user.

FIG. 3 is a flow diagram of a process 300 for presenting promotionalmaterials to a mobile device user based on the user's intendeddestination, according to an embodiment of the present invention. Inblock 302, the mobile device can receive a command that indicates theuser's intent. For example, the mobile device can receive a commandasking for a list of stores of a particular type. In block 304, themobile device can determine a set of points of interest that arerelevant to the user's intent. For example, if the user's intent is tofind a coffee shop, then the mobile device can select, from a set ofknown coffee shops, a set of coffee shops that are within a specifieddistance of the user's current location. The mobile device can sort theset of points of interest based at least in part on the distances ofthose points of interest from the user's current location, such that thepoints of interest nearest to the user's current location will appeartoward the top of the list.

In block 306, the mobile device can present, to the user, the list ofselected nearby points of interest that are relevant to the user'sspecified intent. Although in one embodiment the mobile device presentsthe list, in an alternative embodiment, the mobile device sends the listvia a communication path to an accessory that is separate from themobile device. In block 308, the mobile device can receive, from theuser, a selection of a particular point of interest from the list ofpoints of interest. For example, the mobile device can detect that auser has touched, on a touch-sensitive screen of the mobile device, aregion on which a particular list entry, corresponding to the particularpoint of interest, is displayed. Although in one embodiment of theinvention the mobile device receives the selection directly, in analternative embodiment, the accessory receives the selection andcommunicates the selection to the mobile device via a communicationpath. In block 310, the mobile device can determine a route from theuser's current location to the particular point of interest. In block312, the mobile device can select, from a corpus of other points ofinterest, a set of additional points of interest that are both (a)within a specified distance of the route and (b) mapped to promotionalor informative materials (e.g., advertisements, coupons, etc.). In oneembodiment of the invention, each point of interest is stored as a vCard(a data structure), and an extended field of the vCard contains textrelated to the promotional or informative material mapped to that pointof interest. For example, such text might take the form of a uniformresource locator (URL) that refers to a web page on which thepromotional material relevant to the vCard's point of interest iscontained. In some embodiments of the invention, the mobile devicefilters the selected points of interest to exclude points of interestthat are mapped to promotional or informative materials that are notrelevant to the user's intent.

In block 314, the mobile device can display, to the user, a map thatshows the user's current location, the route to the selected particularpoint of interest, and the locations of the additional points ofinterest. Alternatively, the mobile device can send the map to theaccessory via a communications path, and the accessory can display themap. The map also can display, for each additional point of interest,some information regarding the promotional material that is mapped tothat additional point of interest. This information can be presented onthe map as initially displayed to the user, for all additional points ofinterest shown on the map, or such information just for a single suchadditional point of interest can be shown specifically in response tothe user selecting (e.g., via touch) that additional point of intereston the map. Such information can entice the user to visit one or more ofthe additional points of interest prior to (or instead of) going to thedestination at the end of the route.

In block 316, the mobile device can determine whether the user has comewithin a specified distance of any of the additional points of interest.If the user has come within the specified distance of the additionalpoints of interest, then control passes to block 318. Otherwise, controlpasses to block 320.

In block 318, the mobile device can display the promotional materialthat is mapped to the additional point of interest to which the user hascome near. Such promotional material can take the form of a coupon thatis redeemable at the additional point of interest to which the user hascome near, for example. Alternatively, the mobile device can send thepromotional material to the accessory, which can display the promotionalmaterial. After further potential interaction between the user and themobile device, control passes to block 320.

In block 320, the mobile device can determine whether the user hasarrived at the destination at the end of the route. If the user hasarrived at the destination at the end of the route, then process 300ends. Otherwise, control passes back to block 316.

In certain embodiments of the invention, after a mobile device generatesa set of data based at least in part on received user input thatindicates user intent, the mobile device sends that data to aspecialized service (which might or might not reside on the mobiledevice) to be “decorated” with promotional materials based on the userintent. FIG. 4 is a flow diagram of a process 400 for decorating datawith promotional materials based at least in part on user intent,according to an embodiment of the present invention. In block 402, themobile device can receive a command that indicates the user's intent.For example, the mobile device can receive a command asking for a listof stores of a particular type. In an alternative embodiment of theinvention, an accessory separate from the mobile device receives thecommand and forwards the command to the mobile device via acommunication path. In block 404, the mobile device can determine a setof points of interest that are relevant to the user's intent. Forexample, if the user's intent is to find a coffee shop, then the mobiledevice can select, from a set of known coffee shops, a set of coffeeshops that are within a specified distance of the user's currentlocation.

In block 406, the mobile device can send, to a specialized service, both(a) the set of points of interest and (b) information indicating theuser's intent. In block 408, for each of one or more of the points ofinterest in the set of points of interest, the specialized service canselect, from a corpus of promotional materials, a promotional item thatis (a) relevant to the user's intent and (b) associated with that pointof interest. In block 410, the specialized service can enhance or“decorate” the one or more of the points of interest with thepromotional items selected for those points of interest. For example,the enhancement can be the addition of a textual advertisement to avCard representing a point of interest. For another example, theenhancement can be the addition of a URL to such a vCard, in which theURL refers to a web page that contains promotional material associatewith the point of interest. In block 412, the specialized service canreturn the enhanced set of points of interest to the mobile device. Thespecialized service can reside on the mobile device, or within theaccessory, or somewhere else (e.g., on a remote Internet-accessibleserver).

In block 414, the mobile device can sort the enhanced set of points ofinterest based at least in part on the distances of those points ofinterest from the user's current location, thereby generating anenhanced list of points of interest. In block 416, the mobile device candisplay at least a portion of the enhanced list to the user, oralternatively, the mobile device can send the enhanced list to theaccessory via a communication path, and the accessory can display atleast a portion of the enhanced list to the user. For example, themobile device can display a specified quantity of list entries that areranked the highest among entries in the list. List entries that areenhanced with promotional material can display, along with informationidentifying that entry's point of interest, information relating to thepromotional material mapped to that point of interest. Such informationcan take the form of a textual advertisement, for example.Alternatively, such information can take the form of a URL that refersto a web page that contains the promotional material (e.g., anadvertisement, coupon, etc.). In response to the user's selection ofsuch a URL, the mobile device can invoke a browser application and sendan HTTP request to a server requesting the web page to which the URLrefers. The browser application can display the promotional material onthe web page in response to receiving an HTTP reply from the server.

In block 418, the mobile device can receive, from the user, a selectionof a particular point of interest from the list of points of interest.Alternatively, the accessory can receive the user selection and forward,to the mobile device via a communication path, information identifyingthe user selection. For example, the mobile device or accessory candetect that a user has touched, on a touch-sensitive screen of themobile device, a region on which a particular list entry, correspondingto the particular point of interest, is displayed. In block 420, themobile device can determine a route from the user's current location tothe particular point of interest.

In block 422, the mobile device can display, to the user, a map thatshows at least the user's current location and the route from the user'scurrent location to the selected particular point of interest.Alternatively, the mobile device can send the map to the accessory via acommunication path, and the accessory can display the map to the user.

Although certain embodiments of the invention discussed above determineuser intent based on a single user request (e.g., for a list of nearbystores of a particular type), alternative embodiments of the inventioninfer user intent from a set of multiple user inputs. For example, inone embodiment of the invention, the mobile device tracks thedestinations that the user has visited. The mobile device, or a serviceutilized by the mobile device, can then determine attributes that thesedestinations have in common in order to infer the user intent. A userintent inferred in this manner can be used to select promotionalmaterials for presentation in association with points of interest asdiscussed in connection with any of the processes described above. Inone embodiment of the invention, the mobile device can use any and allinformation known about the mobile device's user to understand and inferthe user's intent. Such information can include historical data that themobile device has learned about the user over time. Advertising can bemade more direct, in one embodiment of the invention, by the mobiledevice's use of user's previous requests and behaviors. For example, inresponse to detecting that a user always takes a particular route towork, and in response to determining that the user purchases gasoline ata determined frequency (which the mobile device can determine using GPSand known gas station coordinates), the mobile device can infer that theuser's intent during the user's morning commute is to find a gas stationalong the user's route that sells gas at a lower cost than other gasstations along that route. An advertisement for such a gas station canbe selected for presentation to the user in response to determining thatthis is the user's intent. For another example, in one embodiment of theinvention, the mobile device can use information from a device-residentcalendar application to infer the user's intent. In response todetecting that a person's birthday has been entered onto the calendar ona future date within a specified period of time from the present date,the mobile device may infer that the user's intent is to purchase abirthday card or gift. An advertisement for a store that sells birthdaycards or gifts can be selected for presentation to the user in responseto determining that this is the user's intent. In one embodiment of theinvention, the mobile device can infer user intent based at least inpart on questions that the user has previously asked the mobile device.For example, the mobile device can infer that the user's intent involvesa subject (e.g., a particular historical person) of the question thatthe user asked to the intelligent assistant in the past, and, inresponse, can recommend informational materials that are relevant tothat subject (e.g., places that are associated with the particularhistorical person).

Although certain embodiments of the invention discussed above determineuser intent based on a point of interest to where the user apparentlyintends to go, in alternative embodiments of the invention, the userintent is determined based on a user-specified category to which thepoint of interest belongs. For example, instead of commanding the mobiledevice to find a list of nearby stores of a particular type (such aspharmacies), the user might command the mobile device to find a list ofplaces at which cough medicine can be purchased. Under suchcircumstances, the user intent might be determined to be the category“cough medicine” instead of the identity of the particular pharmacy towhich the user has requested a route. The specialized service discussedabove can decorate list entries, or select additional proximate pointsof interest, based on the category “cough medicine.” Additional pointsof interest that are mapped to the category, and with which promotionalmaterials are associated, can be selected for display on the map. Listentries that specify points of interest that are mapped to the categorycan be decorated with promotional materials.

In certain embodiments of the invention, user intent determined from oneapplication executing on the mobile device can be shared with otherapplications that execute on the mobile device, so that those otherapplications can present promotional or other informational materials tothe user based on the user's intent. In some embodiments of theinvention, user intent determined by a remote server with which themobile device communicates can be shared with applications that executeon the mobile device, so that those other applications can presentpromotional or other informational materials to the user based on theuser's intent. In one embodiment of the invention, user intent sharingcan be accomplished by the mobile device exposing the determined userintent with an operating system of the mobile device. Applicationsexecuting on the mobile device can then access the exposed user intentif useful to those applications. For example, an application thatrecommends restaurants may access such operating system-exposed userintent data in order to generate a list of recommended restaurants thatare relevant to the intent.

Embodiments of the present invention can be realized using anycombination of dedicated components and/or programmable processorsand/or other programmable devices. The various processes describedherein can be implemented on the same processor or different processorsin any combination. Where components are described as being configuredto perform certain operations, such configuration can be accomplished,e.g., by designing electronic circuits to perform the operation, byprogramming programmable electronic circuits (such as microprocessors)to perform the operation, or any combination thereof. Further, while theembodiments described above can make reference to specific hardware andsoftware components, those skilled in the art will appreciate thatdifferent combinations of hardware and/or software components can alsobe used and that particular operations described as being implemented inhardware might also be implemented in software or vice versa.

Computer programs incorporating various features of the presentinvention can be encoded and stored on various computer readable storagemedia; suitable media include magnetic disk or tape, optical storagemedia such as compact disk (CD) or DVD (digital versatile disk), flashmemory, and other non-transitory media. Computer readable media encodedwith the program code can be packaged with a compatible electronicdevice, or the program code can be provided separately from electronicdevices (e.g., via Internet download or as a separately packagedcomputer-readable storage medium).

Thus, although the invention has been described with respect to specificembodiments, it will be appreciated that the invention is intended tocover all modifications and equivalents within the scope of thefollowing claims.

1. A method for providing information to a user, the method comprising:receiving, at a device, user input that specifies an intendeddestination; determining that the device has entered within a specifiedproximity of the intended destination; and in response to determiningthat the device has entered with the specified proximity of the intendeddestination, displaying one or more advertisements that are associatedwith the intended destination.
 2. The method of claim 1, furthercomprising: in response to receiving the user input, determining one ormore points of interest that are within a specified vicinity of theintended destination; selecting one or more promotional materials thatare associated with the one or more points of interest; and displayingthe one or more promotional materials.
 3. The method of claim 1, furthercomprising: selecting, from a set of points of interest, one or morepoints of interest that are within a same county as the intendeddestination; and selecting one or more promotional materials that areassociated with the one or more points of interest; and displaying theone or more promotional materials.
 4. The method of claim 1, furthercomprising: selecting, from a set of points of interest, one or morepoints of interest that are on a same street as the intendeddestination; and selecting one or more promotional materials that areassociated with the one or more points of interest; and displaying theone or more promotional materials.
 5. The method of claim 1, furthercomprising: selecting, from a set of points of interest, one or morepoints of interest that are on a same block as the intended destination;and selecting one or more promotional materials that are associated withthe one or more points of interest; and displaying the one or morepromotional materials.
 6. The method of claim 1, further comprising:displaying one or more coupons that are associated with the intendeddestination.
 7. The method of claim 1, further comprising: exposing, toa plurality of applications that execute separately from each other onthe device, by an operating system of the device, user intent dataderived from the user input; wherein the one or more advertisementsinclude a plurality of advertisements that are selected by the pluralityof applications based on the user intent data.
 8. A method for providinginformation to a user, the method comprising: receiving, at a device,user input that specifies an intended destination; determining a routefrom a current location of the device to the intended destination;selecting, from a set of points of interest, one or more points ofinterest other than the intended destination that are within a specifieddistance of the route; and displaying one or more advertisements thatare associated with the one or more points of interest.
 9. The method ofclaim 8, further comprising: displaying one or more coupons that areassociated with the one or more points of interest.
 10. The method ofclaim 8, wherein the one or more points of interest are not located onthe route.
 11. The method of claim 8, further comprising: determining,for each of a plurality of stations along the route, a price of aparticular type of item that each station of the plurality of stationssells; selecting, from the plurality of stations, a particular stationthat associated with a price of the particular type of item that islower than other prices of the particular type of item sold by otherstations of the plurality of stations; and displaying an advertisementthat is associated with the particular station.
 12. The method of claim8, further comprising: displaying one or more prices associated with theone or more points of interest.
 13. The method of claim 8, furthercomprising: exposing, to a plurality of applications that executeseparately from each other on the device, by an operating system of thedevice, user intent data derived from the user input; wherein the one ormore advertisements include a plurality of advertisements that areselected by the plurality of applications based on the user intent data.14. A navigational system comprising: one or more processors; and astorage memory storing instructions executable by the one or moreprocessors to cause the one or more processors to: determine a routefrom a current vehicle location to a specified destination, select, froma set of points of interest, one or more points of interest other thanthe intended destination that are within a specified distance of theroute; and display one or more coupons that are associated with the oneor more points of interest.
 15. The system of claim 14, wherein the oneor more points of interest are not located on the route.
 16. The systemof claim 14, wherein the instructions are executable by the one or moreprocessors to cause the one or more processors to: determine, for eachof a plurality of stations along the route, a price of a particular typeof item that each station of the plurality of stations sells; select,from the plurality of stations, a particular station that associatedwith a price of the particular type of item that is lower than otherprices of the particular type of item sold by other stations of theplurality of stations; and display an advertisement that is associatedwith the particular station.
 17. The system of claim 14, wherein theinstructions are executable by the one or more processors to cause theone or more processors to: display one or more prices associated withthe one or more points of interest.
 18. The system of claim 14, whereinthe instructions are executable by the one or more processors to causethe one or more processors to: expose, to a plurality of applicationsthat execute separately from each other, by an operating system, userintent data derived from the user input; wherein the one or more couponsinclude materials that are selected by the plurality of applicationsbased on the user intent data.
 19. The system of claim 14, wherein theinstructions are executable by the one or more processors to cause theone or more processors to: display a coupon associated with a particularpoint of interest of the plurality of points of interest in response todetermining that the system has entered within a specified proximity ofthe particular point of interest.
 20. The system of claim 14, whereinthe instructions are executable by the one or more processors to causethe one or more processors to: determine a user intent based on datamaintained by the system; and filter the one or more points of interestbased on whether the one or more points of interest are associated withthe user intent.